Tổng quan HTTPS

URL bắt đầu bằng lược đồ HTTPS và nhãn tên miền WWW

Lược đồ định danh tài nguyên đồng nhất (URI) HTTPS có cú pháp sử dụng giống hệt với lược đồ HTTP. Tuy nhiên, HTTPS báo hiệu trình duyệt sử dụng một lớp mã hóa bổ sung SSL/TLS để bảo vệ lưu lượng truy cập. SSL/TLS đặc biệt phù hợp với HTTP, vì nó có thể cung cấp một số biện pháp bảo vệ ngay cả khi chỉ một bên của giao tiếp được xác thực . Đây là trường hợp của các giao dịch HTTP qua Internet, trong đó thường chỉ máy chủ được xác thực (bằng cách khách hàng kiểm tra chứng chỉ của máy chủ).

HTTPS tạo ra một kênh an toàn qua một mạng không an toàn. Điều này đảm bảo sự bảo vệ hợp lý khỏi những kẻ nghe trộmcác cuộc tấn công trung gian, với điều kiện sử dụng các bộ mật mã thích hợp và chứng chỉ máy chủ được xác minh và đáng tin cậy.

Vì HTTPS dựa hoàn toàn vào HTTP trên TLS nên toàn bộ giao thức HTTP bên dưới có thể được mã hóa. Điều này bao gồm URL yêu cầu (trang web cụ thể đã được yêu cầu), tham số truy vấn, tiêu đề và cookie (thường chứa thông tin nhận dạng về người dùng). Tuy nhiên, vì địa chỉ trang web và số cổng nhất thiết phải là một phần của giao thức TCP/IP cơ bản, HTTPS không thể bảo vệ sự tiết lộ của chúng. Trên thực tế, điều này có nghĩa là ngay cả trên một máy chủ web được định cấu hình chính xác, những kẻ nghe trộm có thể suy ra địa chỉ IP và số cổng của máy chủ web và đôi khi thậm chí cả tên miền (ví dụ: www.example.org, nhưng không phải phần còn lại của URL) người dùng đang liên lạc, cùng với lượng dữ liệu được truyền và thời lượng liên lạc, mặc dù đó không phải là nội dung của việc liên lạc.[8]

Các trình duyệt web tin cậy các trang web HTTPS dựa trên các tổ chức phát hành chứng chỉ được cài đặt sẵn trong phần mềm của họ. Cơ quan cấp chứng chỉ theo cách này được người tạo trình duyệt web tin cậy để cung cấp chứng chỉ hợp lệ. Do đó, người dùng nên tin tưởng kết nối HTTPS với một trang web khi và chỉ khi tất cả những điều sau là đúng:

  • Người dùng tin tưởng rằng phần mềm trình duyệt triển khai chính xác HTTPS với các tổ chức phát hành chứng chỉ được cài đặt sẵn một cách chính xác.
  • Người dùng tin tưởng tổ chức phát hành chứng chỉ chỉ bảo đảm cho các trang web hợp pháp.
  • Trang web cung cấp một chứng chỉ hợp lệ, có nghĩa là nó đã được ký bởi một cơ quan đáng tin cậy.
  • Chứng chỉ xác định chính xác trang web (ví dụ: khi trình duyệt truy cập " https://example.com ", chứng chỉ nhận được chính xác cho "example.com" chứ không phải một số thực thể khác).
  • Người dùng tin tưởng rằng lớp mã hóa của giao thức (SSL/TLS) đủ an toàn để chống lại những kẻ nghe trộm.

HTTPS đặc biệt quan trọng đối với các mạng không an toàn và mạng có thể bị giả mạo. Các mạng không an toàn, chẳng hạn như các điểm truy cập Wi-Fi công cộng, cho phép bất kỳ ai trong cùng một mạng cục bộ có thể tìm gói và phát hiện ra thông tin nhạy cảm không được bảo vệ bởi HTTPS. Ngoài ra, một số mạng WLAN miễn phí sử dụng và trả phí đã được quan sát thấy giả mạo các trang web bằng cách tham gia vào việc đưa vào gói để phân phát quảng cáo của chính họ trên các trang web khác. Phương thức này có thể bị lợi dụng một cách ác ý theo nhiều cách, chẳng hạn như bằng cách đưa phần mềm độc hại vào các trang web và đánh cắp thông tin cá nhân của người dùng.[9]

HTTPS cũng rất quan trọng đối với các kết nối qua mạng ẩn danh Tor, vì các nút Tor độc hại có thể làm hỏng hoặc thay đổi nội dung đi qua chúng theo cách không an toàn và đưa phần mềm độc hại vào kết nối. Đây là một lý do tại sao Electronic Frontier Foundation và dự án Tor bắt đầu phát triển HTTPS Everywhere,[10] được bao gồm trong Tor Browser Bundle.[11]

Khi nhiều thông tin được tiết lộ về việc giám sát hàng loạt quy mô toàn cầu và tội phạm ăn cắp thông tin cá nhân, việc sử dụng bảo mật HTTPS trên tất cả các trang web ngày càng trở nên quan trọng bất kể loại kết nối Internet đang được sử dụng.[12][13] Mặc dù siêu dữ liệu về các trang riêng lẻ mà người dùng truy cập có thể không được coi là nhạy cảm, nhưng khi được tổng hợp lại, siêu dữ liệu có thể tiết lộ rất nhiều về người dùng và xâm phạm quyền riêng tư của người dùng.[14][15][16]

Việc triển khai HTTPS cũng cho phép sử dụng HTTP/2 (hoặc giao thức tiền thân của nó, giao thức SPDY hiện không được dùng nữa), là một thế hệ HTTP mới được thiết kế để giảm thời gian tải trang, kích thước và độ trễ.

Có các khuyến nghị sử dụng HTTP Strict Transport Security (HSTS) với HTTPS để bảo vệ người dùng khỏi các cuộc tấn công trung gian, đặc biệt là việc tước bỏ SSL.[17][18]

Không nên nhầm lẫn HTTPS với Secure HTTP (S-HTTP) hiếm khi được sử dụng được chỉ định trong RFC 2660.

Sử dụng trong các trang web

Tính đến tháng 4 năm 2018[cập nhật], 33,2% trong số 1.000.000 trang web hàng đầu của Alexa sử dụng HTTPS làm mặc định,[19] 57,1% trong số 137.971 trang web phổ biến nhất trên Internet có triển khai HTTPS an toàn,[20] và 70% số lần tải trang (đo bằng Firefox Telemetry) sử dụng HTTPS.[21]

Tích hợp trình duyệt

Hầu hết các trình duyệt hiển thị cảnh báo nếu họ nhận được chứng chỉ không hợp lệ. Các trình duyệt cũ hơn, khi kết nối với một trang web có chứng chỉ không hợp lệ, sẽ hiển thị cho người dùng một hộp thoại hỏi họ có muốn tiếp tục hay không. Các trình duyệt mới hơn hiển thị cảnh báo trên toàn bộ cửa sổ. Các trình duyệt mới hơn cũng hiển thị nổi bật thông tin bảo mật của trang web trong thanh địa chỉ . Chứng chỉ xác thực mở rộng chuyển thanh địa chỉ sang màu xanh lục trong các trình duyệt mới hơn. Hầu hết các trình duyệt cũng hiển thị cảnh báo cho người dùng khi truy cập trang web có chứa hỗn hợp nội dung được mã hóa và không được mã hóa. Ngoài ra, nhiều bộ lọc web trả lại cảnh báo bảo mật khi truy cập các trang web bị cấm.

Electronic Frontier Foundation tuyên bố rằng "Trong một thế giới lý tưởng, mọi yêu cầu web đều có thể được đặt mặc định thành HTTPS", đã cung cấp một tiện ích bổ sung có tên HTTPS Everywhere cho Mozilla Firefox, Google Chrome, ChromiumAndroid, cho phép HTTPS theo mặc định cho hàng trăm trang web được sử dụng thường xuyên. [22] [23]